////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Scene where entities are organized in a sphere
//
////////////////////////////////////////////////////////////////////////////////////////////////////

#pragma once

#include "scenes/Scene.h"
#include "scenes/sphereScene/SphereSceneBuffers.h"
#include "scenes/sphereScene/SphereSceneResources.h"
#include "scenes/sphereScene/SphereSceneSettings.h"
#include "scenes/sphereScene/SphereSceneShaders.h"

class SphereScene : public Scene {
	sphereScene::Settings mSettings;

	sphereScene::ConstantBuffers mConstantBuffers;

	sphereScene::Shaders mShaders;

	sphereScene::Resources mResources;

public:
	SphereScene();

	void init();

	void draw();
	void destroy();

private:
	void initCamera() const;
	void initPipeline();
};